<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>02_css选择器</title>
    <style>
        /*1.标签名选择器：选中页面中此标签名的所有元素*/
        h4{
            color: red;
        }
        /*2.id选择器：选中指定id值的唯一一个元素*/
        #d1{
            width:100px ;
            height: 100px;
            background-color: aqua;
        }
        /*3*类选择器；选中指定类名的所有元素*/
        .msg{
            color: white;
        }
        .error{
            background-color: red;
        }
        .ok{
            background-color: green;
        }
        /*4.伪类选择器：选中元素的某个时刻或者某种状态*/
        a:link{/*选中超链接未被访问过的状态*/
        color: gray
        }
        a:visited{/*选中超链接已被访问过的状态*/
            color: orange;
        }
        a:hover{/*选中元素被悬停的状态*/
            color: green;
        }
        a:active{/*选中超链接激活的状态*/
        color: red
        }
        /*5.并列选择器：必须紧挨在一起写，表示同时满足两个选择器条件才会生效，是“与”的关系*/
        #d1:hover{
            background-color: pink;
        }
        /*6.群组选择器*/
        h4,#d1,.error{
            border: 5px solid black;
        }
        /*7.后代选择器：选中包含在此元素中的所有后代元素（子，孙，重孙。。。）*/
        #d2 span{
            background-color: purple;
        }
        /*8.子代选择器：选中当前元素的直接子元素，不会继续向下选择*/
        #d2>div>p>span {
            color: white;
        }
    </style>
</head>
<body>
<div>我说div</div>
<div id="d1">我是div</div>
<p>我是段落</p>
<h4>我是标题</h4>
<h4>我是标题</h4>
<span class="error msg">用户名已被占用</span>
<span class="error msg">两次密码输入不一致</span><br>
<span class="ok msg">正确的邮箱格式</span>
<span class="ok msg">正确的手机号格式 </span>
<hr>
<a href="https://baidu.com">超链接1</a>
<a href="abc">超链接2</a>
<hr>
<div id="d2">
    <span>111</span>
    <div>
        <span>222</span>
        <p>测试文字</p>
        <P>我是<span>333</span></P>
    </div>
    <span>444</span>
</div>
</body>
</html>